Two evolving computer technologies, the hardware technology of multicore processors and the software technology of computer virtualization, individually promise to lower the cost and improve the energy efficiency of computers. It may be beneficial to achieve the additional benefits that are available when proper advantage is taken of both technologies. Advances in engineering of “systems on a chip” (SoCs) coupled with advances in integrated circuit design and fabrication technologies have led to the development of “manycore processors” on a single chip, where “many” may be 5 to greater than 100, for example, depending on the application, size, and function of the individual cores.
The processors may be identical (homogeneous manycore processors) or different (heterogeneous manycore processors). Another classification is whether the processors perform specialized data processing (Data Plane Processors, or DPPs) or perform general purpose processing (Control Plane Processors, or CPPs). Typically, DPPs become specialized because they either have closely attached special arithmetic units or loosely attached special computation accelerator units. In the present application, the traditional term “multicore” will be used instead of the newer term “manycore.”
When application specific accelerators and/or custom processor cores such as DPPs are used, the resultant SoC may become highly specialized with respect to a given application. This may reduce the available market for the chip and may require redesigns for other applications. Such specialization may drive up development costs and increase the time-to-market of the SoC.